
class Hero():
    # 类属性
    jineng_num = 4

    def __init__(self, name):
        # 实例属性
        self.name = name
        # 私有属性
        self.__key_word = 'ABC'

    def print_jineng_num(self):
        print("技能个数为：{}".format(Hero.jineng_num))

    def print_name(self):
        print("当前英雄是：{}".format(self.name))

    def updata_key(self, key):
        self.__key_word = key
        print(self.__key_word)

# 实例化一个对象：gailun
gailun = Hero('盖伦')
# # 类属性，可以直接由对象来调用
# print(gailun.jineng_num)
# # 类属性，可以在类里面的方法里使用
# gailun.print_jineng_num()
# # 类的属性，可以由类直接调用
# print(Hero.jineng_num)
# print(gailun)

# # 实例属性可以被对象调用
# print(gailun.name)
# # 实例属性可以由实例方法调用
# gailun.print_name()
# # 类不能直接使用实例属性
# print(Hero.name)

# 私有属性，不能在类的外部被对象调用
# print(gailun.__key_word)
# 私有属性，可以在类的内部直接调用
gailun.updata_key('new')